package com.ruoyi.web.wuliu.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 物流信息对象 material_message
 * 
 * @author ruoyi
 * @date 2023-11-15
 */
@ApiModel("物流信息")
@Data
public class MaterialMessage extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private String id;

    /** 起点 */
    @Excel(name = "起点")
    @ApiModelProperty("起点")
    private String startPoint;

    /** */
    @Excel(name = "起点维度")
    @ApiModelProperty("起点维度")
    private String startPointLat;

    @Excel(name = "起点经度")
    @ApiModelProperty("起点经度")
    private String startPointLng;

    /** 终点 */
    @Excel(name = "终点")
    @ApiModelProperty("终点")
    private String endPoint;

    @Excel(name = "终点维度")
    @ApiModelProperty("终点维度")
    private String endPointLat;

    @Excel(name = "终点经度")
    @ApiModelProperty("终点经度")
    private String endPointLng;

    /** 货物名称 */
    @Excel(name = "货物名称")
    @ApiModelProperty("货物名称")
    private String cargoName;

    /** 体积 */
    @Excel(name = "体积")
    @ApiModelProperty("体积")
    private String volume;

    /** 重量 */
    @Excel(name = "重量")
    @ApiModelProperty("重量")
    private Long weight;

    /** 运费 */
    @Excel(name = "运费")
    @ApiModelProperty("运费")
    private Long freight;

    /** 装货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "装货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("装货时间")
    private Date loadingTime;

    /** 联系电话 */
    @Excel(name = "联系电话")
    @ApiModelProperty("联系电话")
    private String telephone;

    /** 1发布2完成 */
    @Excel(name = "1发布2完成")
    @ApiModelProperty("1发布2完成")
    private Long status;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("完成时间")
    private Date completionTime;
    @Excel(name = "1推荐2不推荐")
    @ApiModelProperty("1推荐2不推荐")
    private String recommended;
    @TableField(exist = false)
    private String loadingPicture;
    @TableField(exist = false)
    private Date userOrderloadingTime;
    @TableField(exist = false)
    private String unloadPicture;
    @TableField(exist = false)
    private Date unloadTime;
    @TableField(exist = false)
    private String userOrderStatus;
    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setStartPoint(String startPoint) 
    {
        this.startPoint = startPoint;
    }

    public String getStartPoint() 
    {
        return startPoint;
    }
    public void setEndPoint(String endPoint) 
    {
        this.endPoint = endPoint;
    }

    public String getEndPoint() 
    {
        return endPoint;
    }
    public void setCargoName(String cargoName) 
    {
        this.cargoName = cargoName;
    }

    public String getCargoName() 
    {
        return cargoName;
    }
    public void setVolume(String volume) 
    {
        this.volume = volume;
    }

    public String getVolume() 
    {
        return volume;
    }
    public void setWeight(Long weight) 
    {
        this.weight = weight;
    }

    public Long getWeight() 
    {
        return weight;
    }
    public void setFreight(Long freight) 
    {
        this.freight = freight;
    }

    public Long getFreight() 
    {
        return freight;
    }
    public void setLoadingTime(Date loadingTime) 
    {
        this.loadingTime = loadingTime;
    }

    public Date getLoadingTime() 
    {
        return loadingTime;
    }
    public void setTelephone(String telephone) 
    {
        this.telephone = telephone;
    }

    public String getTelephone() 
    {
        return telephone;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setCompletionTime(Date completionTime) 
    {
        this.completionTime = completionTime;
    }

    public Date getCompletionTime() 
    {
        return completionTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("startPoint", getStartPoint())
            .append("endPoint", getEndPoint())
            .append("cargoName", getCargoName())
            .append("volume", getVolume())
            .append("weight", getWeight())
            .append("freight", getFreight())
            .append("loadingTime", getLoadingTime())
            .append("telephone", getTelephone())
            .append("status", getStatus())
            .append("remark", getRemark())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("completionTime", getCompletionTime())
            .toString();
    }
}
